package com.enterpriseDigitalPlatform.util;

import java.math.BigDecimal;
import java.util.Map;

public class GetParamsUtil {
    private GetParamsUtil() {

    }

    // todo 获取请求体中字符串参数
    public static String getParameters(Map<String, Object> params, String key, String defaultValue) {
        Object value = params.getOrDefault(key, defaultValue);
        if (value == null) {
            value = defaultValue;
        }
        return String.valueOf(value);
    }

    // todo 获取请求体中int参数
    public static Integer getParametersInt(Map<String, Object> params, String key, int defaultValue) {
        Object temp = params.getOrDefault(key, defaultValue);
        if (temp == null) {
            return defaultValue;
        }
        if ("".equals(temp)) {
            return defaultValue;
        }
        return Integer.parseInt(temp.toString());
    }

    // todo 获取请求体中long参数
    public static Long getParametersLong(Map<String, Object> params, String key, Long defaultValue) {
        Object temp = params.getOrDefault(key, defaultValue);
        if (temp == null) {
            return defaultValue;
        }
        if ("".equals(temp.toString())) {
            return defaultValue;
        }
        return Long.valueOf(temp.toString());
    }

    // todo 获取请求体中的decimal参数
    public static BigDecimal getParametersDecimal(Map<String, Object> params, String key, String defaultValue) {
        Object text = params.getOrDefault(key, defaultValue);
        if (text == null) {
            text = "0";
        }
        return new BigDecimal(String.valueOf(text));
    }
}
